When deploying an operating system to multiple computing devices, it is beneficial to utilize tools to automate the deployment process. For example, in a computing device manufacturing process, an original equipment manufacturer (OEM) typically installs an operating system (OS) with standard configurations or a standard OS to the computing device before customers purchase them at retail stores or over the Internet. In a corporate setting, a business may need to upgrade a number of identically configured machines simultaneously and efficiently using such automated process.
Typically, the standard OS is deployed and installed automatically to the computing devices by copying or duplicating a predetermined OS image to the computing device for booting the computing device. For example, the automated deployment and installation process would install the OS with standard configurations on a memory storage area of each of the computing devices via a wired or a wireless connection. Upgrades to OS or other applications may be installed in a similar fashion.
However, with the ongoing advancements and developments in storage medium and computing device processing powers, installing a standard set of OS image to a number of computing devices no longer accounts for proper configuration of the computing devices.
One available system, Pre-Boot Execution Environment (PXE) protocol, allows a client to obtain an OS image from a PXE server in a networked environment. The client initiates the PXE process by broadcasting a PXE request in the networked environment. However, any PXE server listening for a request can read and choose to respond to the client. A disadvantage results if more than one PXE server exists in the networked environment because the client will be serviced by whichever PXE server responds the quickest to the client's request. For example, if two PXE servers are in the networked environment, the first configured with application logic to service personal computer clients and a second configured to service any type of device (e.g., personal computers, point of sale devices, and network servers), it is not possible to determine which PXE server will be the first to respond to the request from a point of sale device client. Therefore, it is possible that, while using the PXE protocol, the point of sale device may incorrectly receive a boot image for a personal computer.
In addition, not only does an entity needs to deploy an OS on a number of different classes of computing devices, from personal digital assistant (PDA), to server computers, to point of sale terminals, the entity also needs to consider that each class of the computing devices may require particular configurations due to hardware components. For example, a PDA X with a chip having a processing power of 500 MHz and a storage memory capacity of 5 GB may require a different OS image from another PDA Y in the same production line with a chip having a processing power of 733 MHz and a storage memory capacity of 10 GB. As such, the existing OS image deployment systems of installing an OS with standard configuration or a standard OS image would not properly configure the PDA Y because both PDA X and PDA Y would receive the same OS image for booting the devices. In addition, current OS image deployment systems lack the ability to properly detect differences in hardware components in the computing devices to efficiently deploy and install appropriate OS images to the computing devices.